The present invention relates generally to a computer system having a hierarchically layered communications subsystem utilizing the Open System Interconnections (OSI) model. More particularly, the present invention relates to an object-oriented model for representing the OSI layers and communications network topology and for defining the communications subsystem configuration database.
The use of computer network systems for processing and transmitting data is well known in the prior art. A typical computer network system consists of at least one host computer running under some type of operating system, communication controllers or subsystems, communications media and a plurality of end users, terminals, printers, displays, for example. The host computer is connected, via communications media, to either a communication controller or an end user terminal. The communication controller interfaces with other communication controllers or end user terminals via communications media. The communications media may be telephone lines or microwave digital transmission channels via satellite, for example.
Maekawa et al, "Operating Systems-Advanced Concepts", copyright 1987 by The Benjamin/Cummings Publishing Co., pp. 177-206, define a distributed or networked system as a collection of independent computers and a communication facility therebetween for exchanging messages. Since such systems typically do not utilize shared memory, they must rely upon message passing as the basis for distributed operation and synchronization.
When computers or processes communicate by exchanging messages, there must be a set of established rules or protocols to govern the manner in which communication is allowed to take place. As Maekawa et al point out, various levels of protocols are required, for example, to ensure that buffer capacities are not exceeded and that messages are not lost.
In an attempt to standardize network architecture, the International Organization for Standardization (ISO) has adopted an architectural model referred to as "Open Systems Interconnections" (OSI). Reference should be made to the ISO International Standard 7498 relating to a model of OSI architecture. According to the standard, an "open system" represents a network as a hierarchical structure of "layers" of functions, each "layer" providing a collection of related functions that can be accessed and used by the "layer" above it in the hierarchy. Also, an "open systems interconnections" refers to a set of protocols used for communications between two or more open systems.
The ISO standard OSI model delineates seven layers (as shown in FIG. 3). These include from top to bottom, an application layer 7, a presentation layer 6, a session layer 5, a transport layer 4, a network layer 3, a data-link layer 2 and a physical layer 1.
It is usual for some of the layers to be combined or eliminated as a function of the application served. For example, layers 1-3 can be folded into a communications layer including the transmission of raw bit streams, the electrical cooperation between send and receive points, automatic error detection and recovery, and any packet and routing management requirements. Also, layers 6 and 7 may be folded together as a single applications layer in that they focus on the presentation and use of information. The functions of the session and transport layers are to provide connections (sessions) between specific pairs of processes (one in each layered subsystem) on one hand, and reliable host CPU-to-CPU communications on the other hand. Relatedly, the communications layer is usually implemented in hardware, whereas the application and intermediate layers, as now defined, are software implemented.
OSI, as a multiple layer architecture, establishes reliable communications among processes and guarantees that messages are received in the same order in which they are sent. In OSI, each layer may be viewed as a service provider. That is, it provides services to the layer, or user above it, in order to allow that user to communicate with its peer at another node. A layer provides these services by establishing a connection with the next lower layer in the hierarchy until it reaches the bottom or physical communication layer. At this point, a message is impressed upon the physical path, the network, to its destination. At the destination node, the same process is repeated but in reverse order.
The passage of messages vertically down the layers at an originating host computer, the transmission horizontally over the physical path or layer to the target computer, and the vertical processing up the target host are well described in the prior art. Most of the problems addressed by the prior art have been of the communications variety emphasizing the horizontal or peer-coupled aspects. These include the establishment of a session, routing and maintaining synchronization in the presence of noise or variable bandwidth. Illustratively, reference should be made to Barzilai et al, U.S. Pat. No. 4,736,369, "Adaptive Session-level Pacing", issued Apr. 5, 1988. Additional, Carpenter et al, U.S. Pat. No. 5,003,470, "Method for Tying and Untying Path Access in a CPU-Based, Layered Communications System", issued Mar. 26, 1991 is illustrative of a computer-implemented method for maintaining the integrity of ties connecting control blocks within each layer of a layered communication subsystem.
Typically, since they provide for vendor independent, any-to-any connectivity, open communications networks such as OSI are particularly difficult to configure. The ISO architecture and standards that embody this open philosophy of connectivity provide a greater amount of flexibility than can be found in proprietary standards. The amount of configuration data required by the implementation and consequently needed to be input by the end-user can therefore be quite complex and voluminous. Thus, defining and building an adequate database for configuration of the communications network becomes expensive and time consuming, often requiring the services of a programmer to complete.